package com.client.koshercook.client;

import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.DialogBox;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.PushButton;
import com.google.gwt.user.client.ui.ScrollPanel;
import com.google.gwt.user.client.ui.VerticalPanel;

public class Explanation {

	//main window
	private DialogBox dBox = new DialogBox();
	private VerticalPanel vPanel = new VerticalPanel();
	private ScrollPanel tableScroller;
	private PushButton exit = new PushButton("חזור לאתר");
	private Label label = new Label();
	//details
	private FlexTable table = new FlexTable(); 
	
	/*window contains help and explanation of the site feaures*/
	public Explanation() {
		label.setText("!ברוכים הבאים לחלון העזרה של כושר-קוק. כאן תוכלו למצוא הסברים על כל מה שהאתר מציע. בתיאבון");
		label.setStyleName("explanation-label");
		
		exit.setTitle("לחץ כדי לחזור לאתר");
		exit.addStyleName("largeButtons");
		exit.setSize("200px", "25px");
		
		exit.addClickHandler(new ClickHandler(){
			public void onClick(ClickEvent event) {
				dBox.hide();
			}
		});
		
		table.addStyleName("detailsTable");
		table.getColumnFormatter().setWidth(0,"400px");
		table.getColumnFormatter().setWidth(1,"100px");
		table.getColumnFormatter().setWidth(2,"7px");
		table.getColumnFormatter().addStyleName(1, "detailsName");
		table.getColumnFormatter().addStyleName(2, "detailsName");
		table.setBorderWidth(0);
		
		//build table
		table.setText(0, 2, "(1");
		table.setText(0, 1, "חיפוש");
		table.setText(0, 0, "בצד ימין של האתר נמצא איזור החיפוש. באפשרותך להכניס רכיבים שנמצאים ברשותך על-מנת שכושר-קוק יחפש עבורך מתכונים המכילים רכיבים אלה");
		
		table.setText(1, 2, "(2");
		table.setText(1, 1, "חיפוש אוטומטי");
		table.setText(1, 0, "כושר-קוק מאפשר לך לבצע חיפוש אוטומטי לאחר כל שינוי במרכיבי החיפוש כגון הוספה/הסרה של רכיבים");
		
		table.setText(2, 2, "(3");
		table.setText(2, 1, "רכיבי חובה");
		table.setText(2, 0,"אם ישנם רכיבים שברצונך לראות בכל המתכונים שיוצגו לפניך, ניתן לעשות זאת על-ידי סימון וי ליד הרכיב");
		
		table.setText(3, 2, "(4");
		table.setText(3, 1, "סינון חיפוש");
		table.setText(3, 0,"באפשרותך לסנן את תוצאות החיפוש שיוצגו לפניך. ניתן לבחור באיזור החיפוש את סוג הכשרות ואת סוג המנה הרצויה. " +
				" בנוסף על-ידי לחיצה על הכפתור 'סנן חיפוש' תינתן לך האפשרות לבחור את האתרים המועדפים עליך ולהגביל את זמן הבישול");

		table.setText(4, 2, "(5");
		table.setText(4, 1, "מקרר אישי");
		table.setText(4, 0,"באפשרותך ליצור מקרר אישי. את המקרר ניתן לנהל על-ידי לחיצה על כפתור 'מקרר' שבחלק העליון של העמוד." +
				"המקרר מכיל את הרכיבים שתמיד נמצאים ברשותך והוא מאפשר לך להשתמש באתר בקלות רבה");
		
		table.setText(5, 2, "(6");
		table.setText(5, 1,"היסטורית שימוש");
		table.setText(5, 0,"אתה יכול להזכר בכל המתכונים בהם צפית בעבר." +
				" " + 
				"כל שעליך לעשות הוא ללחוץ על הפתור 'היסטוריה' שבראש העמוד");
		
		table.setText(6, 2, "(7");
		table.setText(6, 1,"מועדפים");
		table.setText(6, 0,"בעת עיון בפרטי מתכון, ניתנת האפשרות לכל משתמש רשום להוסיף את המתכון בו הוא צופה למועדפים שלו וזאת על-ידי לחיצה על הכפתור 'הוסף למועדפים' שנמצא בעמוד המתכון (ראה הסבר מטה)." +
				" "+
				"כל משתמש רשום רשאי בכל עת לגשת לרשימת המועדפים שלו על-מנת להתבונן או לערוך אותה. הגישה למועדפים מתבצעת על-ידי לחיצה על כפתור 'ספר המתכונים שלי'");
				
		table.setText(7, 2, "(8");
		table.setText(7, 1,"הוספת מתכון");
		table.setText(7, 0,"כושר-קוק מאפשר לגולשים להכניס את מתכוניהם למאגר המתכונים שלו, בתנאי שהם כשרים כמובן." +
				" "+
				"כל משתמש רשום רשאי להכניס מתכון שלו וזאת על-ידי לחיצה על כפתור ' הוסף מתכון ' שבראש העמוד." +
				" " +
				"מתכונים אלה יופיעו בתוצאות החיפוש אותם תריצו");
		
		table.setText(8, 2, "(9");
		table.setText(8, 1,"מתכונים פופולרים");
		table.setText(8, 0,"על-מנת לנסות ולסייע לגולשים, כושר-קוק מציג בפניהם את המתכונים הפופולרים ביותר באתר." +
				" "+
				"מתכונים אלה הינם המתכונים הכי נצפים, והם ממתינים לכם בסדר יורד בצד שמאל של המסך");

		table.setText(9, 2, "(10");
		table.setText(9, 1,"עמוד מתכון");
		table.setText(9, 0,"לאחר לחיצה על שם המתכון יפתח בפניכם עמוד שמכיל את כל שצריך לדעת על המתכון המבוקש");
		
		table.setText(10, 2, "(10.1)");
		table.setText(10, 1,"רכיבי המתכון");
		table.setText(10, 0,"בצד ימין של המסך מוצגים למשתמש רשימת הרכיבים שמכיל המתכון הנוכחי. ליד כל רכיב מסומן האם הוא ברשות המשתמש או לא." +
				" "+
				"לחיצה על הרכיב מאפשרת להכניס רכיב חלופי במקום רכיב זה למתכון הנוכחי (במידה ולא נפגמת הכשרות של המתכון)."+
				" "+
				"בנוסף מוצג בפני המשתמש התיאור המילולי של רכיבי המתכון המפרטים את הכמויות של כל רכיב");
		
		table.setText(11, 2, "(10.2)");
		table.setText(11, 1,"אופן הכנה");
		table.setText(11, 0,"אופן ההכנה של המתכון");
		
		table.setText(12, 2, "(10.3)");
		table.setText(12, 1,"זמן הכנה");
		table.setText(12, 0,"מוצג זמן ההכנה של המתכון. "+
				" "+
				"משתמש רשום רשאי להזין זמן הכנה למתכון");
		
		table.setText(13, 2, "(10.4)");
		table.setText(13, 1,"דירוג מתכון");
		table.setText(13, 0,"מוצג הדירוג של המתכון. הדירוג הינו הדירוג הממוצע של הגולשים. חמישה כוכבים מייצגים דירוג מקסימלי"+
				" "+
				"משתמש רשום רשאי לדרג מתכון");
		
		table.setText(14, 2, "(10.5)");
		table.setText(14, 1,"תגובות");
		table.setText(14, 0,"רשימת התגובות של המשתמשים למתכון");
		
		table.setText(15, 2, "(10.6)");
		table.setText(15, 1,"מייל");
		table.setText(15, 0,"משתמש רשום רשאי לשלוח לינק למתכון הנוכחי למי שיחפוץ. המייל ישלח מהמייל של השולח בתוספת מלל שיזין המשתמש לבחירתו");
		//end build table
		

		
		tableScroller = new ScrollPanel(table);
		tableScroller.setSize("570px","400px");
		tableScroller.addStyleName("infoText");

		vPanel.add(label);
		vPanel.add(exit);
		vPanel.add(tableScroller);
		vPanel.setSpacing(15);
		vPanel.addStyleName("explanation");
		vPanel.setCellHorizontalAlignment(label, HasHorizontalAlignment.ALIGN_CENTER);
		vPanel.setCellHorizontalAlignment(exit, HasHorizontalAlignment.ALIGN_CENTER);
		vPanel.setCellHorizontalAlignment(tableScroller, HasHorizontalAlignment.ALIGN_CENTER);
		dBox.setText("כושר-קוק עזרה");
		dBox.add(vPanel);
		
		
		dBox.setGlassEnabled(true);
		dBox.center();
		dBox.hide();
	}
	
	public void show(){
		dBox.show();
	}
	
}
